package it.ilgrv.demiurgo.persistence.tables.skill;

import it.ilgrv.demiurgo.persistence.CharacterSubscription;
import it.ilgrv.demiurgo.persistence.tables.character.Character;
import it.ilgrv.demiurgo.persistence.tables.character.PxLog;
import it.ilgrv.demiurgo.persistence.tables.faction.Association;
import it.ilgrv.demiurgo.persistence.tables.faction.Title;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the teacher database table.
 * 
 */
@Entity
public class Teacher extends it.ilgrv.demiurgo.persistence.GenericTable implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;

	private String name;

	private int teacherType_id;

	private int version;

	//bi-directional many-to-one association to Association
	@OneToMany(mappedBy="teacher")
	private Set<Association> associations;

	//bi-directional many-to-one association to Character
	@OneToMany(mappedBy="teacher")
	private Set<Character> characters;

	//bi-directional many-to-one association to CharacterSubscription
	@OneToMany(mappedBy="teacher")
	private Set<CharacterSubscription> characterSubscriptions;

	//bi-directional many-to-one association to PxLog
	@OneToMany(mappedBy="teacher")
	private Set<PxLog> pxLogs;

	//bi-directional many-to-one association to SkillRestriction
	@OneToMany(mappedBy="teacher")
	private Set<SkillRestriction> skillRestrictions;

	//bi-directional many-to-one association to TeachedSkill
	@OneToMany(mappedBy="teacher")
	private Set<TeachedSkill> teachedSkills;

	//bi-directional many-to-one association to Title
	@OneToMany(mappedBy="teacher")
	private Set<Title> titles;

    public Teacher() {
    }

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getTeacherType_id() {
		return this.teacherType_id;
	}

	public void setTeacherType_id(int teacherType_id) {
		this.teacherType_id = teacherType_id;
	}

	public int getVersion() {
		return this.version;
	}

	public void setVersion(int version) {
		this.version = version;
	}

	public Set<Association> getAssociations() {
		return this.associations;
	}

	public void setAssociations(Set<Association> associations) {
		this.associations = associations;
	}
	
	public Set<Character> getCharacters() {
		return this.characters;
	}

	public void setCharacters(Set<Character> characters) {
		this.characters = characters;
	}
	
	public Set<CharacterSubscription> getCharacterSubscriptions() {
		return this.characterSubscriptions;
	}

	public void setCharacterSubscriptions(Set<CharacterSubscription> characterSubscriptions) {
		this.characterSubscriptions = characterSubscriptions;
	}
	
	public Set<PxLog> getPxLogs() {
		return this.pxLogs;
	}

	public void setPxLogs(Set<PxLog> pxLogs) {
		this.pxLogs = pxLogs;
	}
	
	public Set<SkillRestriction> getSkillRestrictions() {
		return this.skillRestrictions;
	}

	public void setSkillRestrictions(Set<SkillRestriction> skillRestrictions) {
		this.skillRestrictions = skillRestrictions;
	}
	
	public Set<TeachedSkill> getTeachedSkills() {
		return this.teachedSkills;
	}

	public void setTeachedSkills(Set<TeachedSkill> teachedSkills) {
		this.teachedSkills = teachedSkills;
	}
	
	public Set<Title> getTitles() {
		return this.titles;
	}

	public void setTitles(Set<Title> titles) {
		this.titles = titles;
	}
	
}